// Cylinder类表示圆柱体，包含一个Shape类型的成员（这里假设底面是圆形），体现面向抽象编程思想
class Cylinder {
    private Shape base; // 圆柱体的底面形状（这里以Shape抽象类型表示，可以是任何实现了Shape的具体图形，这里假设是圆形）
    private double height; // 圆柱体的高

    public Cylinder(Shape base, double height) {
        this.base = base;
        this.height = height;
    }

    // 计算圆柱体的体积，通过调用Shape成员的area()方法获取底面积，再乘以高
    public double volume() {
        return base.area() * height;
    }
}